package com.zhuiyun.educations.api.teacher.service;

import com.zhuiyun.educations.api.rotationimage.entity.ImageFile;
import com.zhuiyun.educations.api.teacher.entity.Teacher;
import com.zhuiyun.educations.common.response.CommonResult;
import com.zhuiyun.educations.util.pageUtil.PageRequest;
import com.zhuiyun.educations.util.pageUtil.PageResult;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * @ClassName TeacherService
 * @Description TODO 教师业务逻辑层
 * @Author 杨友朋
 * @Date 2023/6/21 10:28
 **/
public interface TeacherService {
    /**
     * @Author 杨友朋
     * @Description TODO 分页全查教师信息
     * @Date 2023/6/21 20:46
     * @Return PageResult
     * @param teacher，pageRequest
     */
    PageResult selectTeacher(Teacher teacher, PageRequest pageRequest);

    /**
    * @Author 杨友朋
    * @Description TODO 全查教师
    * @Date 2023/6/26 9:30
    * @Return List<Teacher>
    * @param teacher
    */
    List<Teacher> selectAll(Teacher teacher);

    /**
     * @Author 杨友朋
     * @Description TODO 添加教师信息
     * @Date 2023/6/21 20:46
     * @Return CommonResult
     * @param teacher
     */
    CommonResult insertTeacher(MultipartFile file, Teacher teacher, ImageFile imageFile);

    /**
     * @Author 杨友朋
     * @Description TODO 根据id删除教师信息
     * @Date 2023/6/21 20:46
     * @Return CommonResult
     * @param id
     */
    CommonResult deleteTeacherById(Integer id);

    /**
     * @Author 杨友朋
     * @Description TODO 根据ids批量删除教师信息
     * @Date 2023/6/21 20:47
     * @Return CommonResult
     * @param ids
     */
    CommonResult deleteTeacherByIds(List<Integer> ids);

    /**
     * @Author 杨友朋
     * @Description TODO 根据id修改教师信息
     * @Date 2023/6/21 20:46
     * @Return CommonResult
     * @param teacher
     */
    CommonResult updateTeacher(Teacher teacher);
}
